#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

// 时间复杂度：O(nsqrt(n))
vector<int> get_divisor(int x)
{
    vector<int> tmp;
    for (int i = 1; i <= x / i; ++i)
        if (x % i == 0)
        {
            tmp.push_back(i);
            // 要记得两个数相同的时候不能放进去
            if (i != x / i)
                tmp.push_back(x / i);
        }
    // sort是对所有约数做排序
    // 约数的个数
    // 1~n中的约数个数有(n+n/2+n/3+...+1) 个 = nlogn
    // 平均每个数的约数有logn个
    // 所以排序的时间复杂度是o(logn loglogn),可以忽略不计了
    sort(tmp.begin(), tmp.end());
    return tmp;
}

int main()
{
    int n;
    cin >> n;
    while (n--)
    {
        int a;
        cin >> a;
        vector<int> ans = get_divisor(a);
        for (auto e : ans)
            cout << e << ' ';
        cout << endl;
    }
    return 0;
}
